package com.mdd.product.service;


import com.mdd.product.validate.LeasingSchemeDetailsCreateValidate;
import com.mdd.product.validate.LeasingSchemeDetailsUpdateValidate;
import com.mdd.product.vo.LeasingSchemeDetailsVo;
import java.util.List;
import java.util.Set;

/**
 * 租赁方案详细服务接口类
 * @author LikeAdmin
 */
public interface ILeasingSchemeDetailsService {

    /**
     * 租赁方案详细列表
     *
     * @author LikeAdmin
     * @param spuId 商品id
     * @return List<LeasingSchemeDetailsVo>
     */
    List<LeasingSchemeDetailsVo> list(Long spuId);

    /**
     * 租赁方案详细详情
     *
     * @author LikeAdmin
     * @param id 主键ID
     * @return LeasingSchemeDetailsVo
     */
    LeasingSchemeDetailsVo detail(Long id);

    /**
     * 租赁方案详细新增
     *
     * @author LikeAdmin
     * @param createValidate 参数
     */
    void add(LeasingSchemeDetailsCreateValidate createValidate);

    /**
     * 租赁方案详细编辑
     *
     * @author LikeAdmin
     * @param updateValidate 参数
     */
    void edit(LeasingSchemeDetailsUpdateValidate updateValidate);

    /**
     * 租赁方案详细删除
     *
     * @author LikeAdmin
     * @param id 主键ID
     */
    void del(Long id);
    void delBySchemeIds(List schemeId);
    void delBySchemeIdAndNotInValues(Long schemeId, Set<Long> values) ;

}
